home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
cpp_libs
/
sos3-2.lha
/
commands.mk
next >
Wrap
Makefile
|
1992-02-13
|
5KB
|
135 lines
# --------------------------------------------------------------------------
# Copyright 1992 by Forschungszentrum Informatik (FZI)
#
# You can use and distribute this software under the terms of the licence
# you should have received along with this program.
# If not or if you want additional information, write to
# Forschungszentrum Informatik, "STONE", Haid-und-Neu-Strasse 10-14,
# D-7500 Karlsruhe 1, Germany.
# --------------------------------------------------------------------------
# ----------------------------------------------------------------------------
# library definitions
# ----------------------------------------------------------------------------
sos.a = $(SOSLIB)/sos.a
XLIBS = -lXm -Bstatic -lXaw -Bdynamic -lXmu -lXext -lXt -lX11
# ----------------------------------------------------------------------------
# AT&T - settings
# ----------------------------------------------------------------------------
[__ATT__]CC_PROG = CC
[__ATT__]CC_CPP = -DATT
[__ATT__]CC_DO_DEBUG = -g
[__ATT__]CC_DO_PROF = -pg -DPROFILE
[__ATT__]CC_DO_OPT = -O2
[__ATT__]CC_DO_OPTLARGE = -O1
[__ATT__]cc_PROG = cc
[__ATT__]cc_DO_DEBUG = -g
[__ATT__]cc_DO_PROF = -pg -DPROFILE
[__ATT__]cc_DO_OPT = -O2
# ----------------------------------------------------------------------------
# GNU - settings
# ----------------------------------------------------------------------------
[__GNU__]CC_PROG = g++
[__GNU__]CC_CPP = -DGNU
[__GNU__]CC_DO_DEBUG = -g0
[__GNU__]CC_DO_PROF = -pg -DPROFILE
[__GNU__]CC_DO_OPT = -O -fstrength-reduce
[__GNU__]CC_DO_OPTLARGE = -O
[__GNU__]cc_PROG = gcc
[__GNU__]cc_DO_DEBUG = -g
[__GNU__]cc_DO_PROF = -pg -DPROFILE
[__GNU__]cc_DO_OPT = -O -fstrength-reduce
# ----------------------------------------------------------------------------
# general settings
# ----------------------------------------------------------------------------
CPP_BOOT = #-DBOOT
CPP_MON = #-DMONITOR # enables PSM monitoring if defined
CPP_NO_ERR = #-DERR_NO_ASSERT # disables assertion checking if defined
CPP_NO_TRC = -DNO_TT # disables tracing if defined
DEBUG_ccFLAG= $(cc_DO_DEBUG)
PROF_ccFLAG = #$(cc_DO_PROF)
OPT_ccFLAG = #$(cc_DO_OPT)
DEBUG_CCFLAG= $(CC_DO_DEBUG)
PROF_CCFLAG = #$(CC_DO_PROF)
OPT_CCFLAG = #$(CC_DO_OPT)
CPPFLAGS = $(CC_CPP) $(CPP_BOOT) $(CPP_MON) $(CPP_NO_ERR) $(CPP_NO_TRC)
INCLUDES = $(SOS_INCLUDES)
# ~~~~~~~~~
LD_STRIPFLAG= -s # strip strip-able executables
LD_MONFLAG = #$(XLIBS) # must be defined iff CPP_MON is defined
LDFLAGS = $(LD_MONFLAG)
LDFLAGS.s = $(LD_STRIPFLAG) $(LDFLAGS)
# ----------------------------------------------------------------------------
# Commands
# ----------------------------------------------------------------------------
SOSCNT = $(SOSPATH)/cnt
SOSINC = $(SOSPATH)/include
SOSSRC = $(SOSPATH)/src
SOSLIB = $(SOSPATH)/lib
SOSBIN = $(SOSPATH)/bin
SOS_INCLUDES = -I$(SOSINC)
IF_CCFLAGS = $(CC_DO_OPT) $(PROF_CCFLAG)
L_IF_CCFLAGS = $(CC_DO_OPTLARGE) $(PROF_CCFLAG)
CCFLAGS = $(DEBUG_CCFLAG) $(OPT_CCFLAG) $(PROF_CCFLAG)
ccFLAGS = $(DEBUG_ccFLAG) $(OPT_ccFLAG) $(PROF_ccFLAG)
# ~~~~~~~~~~
RM = rm -f $@
COMP.cc = @ $(RM) ; set -x ;\
$(cc_PROG) $(INCLUDES) $(CPPFLAGS) $(ccFLAGS) -c -o $@
COMP.CC = @ $(RM) ; set -x ;\
$(CC_PROG) $(INCLUDES) $(CPPFLAGS) $(CCFLAGS) -c -o $@
LINK.cc = @ $(RM) ; set -x ;\
$(cc_PROG) $(INCLUDES) $(CPPFLAGS) $(ccFLAGS) -o $@
LINK.CC = @ $(RM) ; set -x ;\
$(CC_PROG) $(INCLUDES) $(CPPFLAGS) $(CCFLAGS) -o $@
SOS.CC = @ $(RM) ; $(SOSBIN)/sos-CC -keep_scp $(CC_PROG) $(INCLUDES) \
$(CPPFLAGS) $(CCFLAGS) -c -o $@
SOS.IF_CC = @ $(RM) ; $(SOSBIN)/sos-CC $(CC_PROG) $(INCLUDES) \
$(CPPFLAGS) $(IF_CCFLAGS) -c -o $@
SOS.LARGEIF_CC= @ $(RM) ; $(SOSBIN)/sos-CC $(CC_PROG) $(INCLUDES) \
$(CPPFLAGS) $(L_IF_CCFLAGS) -c -o $@
SOS.CMP = @ cd $(@D) ; set -x ; $(SOSBIN)/sos-cmp
LEX.CC = @ $(RM) ; set -x ; lex $? ; set +x ; $(LEX._rest_)
YACC.CC = @ $(RM) ; set -x ; yacc $? ; set +x ; $(YACC._rest_)
LEX._rest_ = cat lex.yy.c \
| sed -e "/^yyback(p, m)/ { s/.*/yyback (int *p, int m)/" \
-e "; n" \
-e "; s/ *int \*p;//" \
-e "}" \
-e "/^yyoutput(c)/ { s/.*/yyoutput (int c)/" \
-e "; n" \
-e "; s/ *int c;//" \
-e "}" \
-e "/^yyunput(c)/ { s/.*/yyunput (int c)/" \
-e "; n" \
-e "; s/ *int c;//" \
-e "}" \
> $@ ;\
rm lex.yy.c ;
YACC._rest_ = cat y.tab.c | sed -e "/^extern.*\<malloc\>.*/ d" > $@ ;\
rm y.tab.c ;